Computer archives contain one or more computer files, generally in a compressed form. Archive will provide a more efficient form of storage, but extracting data from an archive will require a certain amount of time. If the files within an archive require processing, then the extraction of the files may create a burden on the system, particularly if only a subset of the files will be processed. In a particular example, an archive may be a Java archive, or JAR, file. In such a structure, the intermediary nodes are inner archives contained in other archives, with the leaf nodes being non-archive file entries.
However, there may be instances in which it is necessary or useful to address the contents of the archive as a stream of data. In one example, a serial process may be in place for evaluation of the data within the archive.
The extraction of the archive and conversion into a data stream for processing may be time consuming. In particular, there may be numerous files that do not require processing, and thus extraction of such files is unnecessary. In order to efficiently process the process the contents of the archive, the archive requires effective handling to address the appropriate elements with minimal wasted operations.